package com.study.java.jinjie.error;

import java.io.File;
import java.io.IOException;

public class MyError {
    public static void main(String[] args){

        //System.out.println(sss(10,0));


        nullError(null);
        byte[] bytes = {1,2,3};
        indexError(bytes);

        System.out.println("程序已运行5秒");

        System.out.println("程序正常结束!");

        // 正在进行的程序
        // 进程

        //


    }

    //
    public static  float sss(float l,float s){
        float f = 0.0f;
        try {
            f = l/s;
        } catch (ArithmeticException e){
            f = -1;
            System.out.println("不能除0");
        }
        return f;
    }

    public static void nullError(File file){
        try {
            System.out.println(file.getName());
        } catch (NullPointerException e){
            System.out.println("发生异常");
        }
    }

    public static void indexError(byte[] bytes){
        try {
            int x = bytes.length;
            System.out.println(bytes[x]);
        } catch (IndexOutOfBoundsException e){
            System.out.println("下标索引异常");
        }
    }

    public static void error(){
        try {
            // 可能会抛出异常的代码
            // 10/0
        } catch (Exception e) {
            // 捕获异常
            System.out.println("发生异常");
            e.printStackTrace();  // 输出异常信息
        } finally {
            // 无论是否抛出异常，都会执行的代码块
        }
    }

    public static void error2() throws IOException {
        try {
            // 可能会抛出异常的代码
            // 10/0
        } catch (Exception e) {
            // 捕获异常
            System.out.println("发生异常");
            e.printStackTrace();  // 输出异常信息
        } finally {
            // 无论是否抛出异常，都会执行的代码块
        }
    }
}
